package puzzle.projecteuler.p100;

import java.math.BigInteger;
import java.util.HashSet;
import java.util.Set;

public class Problem063 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		Set<BigInteger> c = new HashSet<BigInteger>(); 
		for (int a = 1; a < 10; a ++) {
			for (int n = 1; n <= Math.log(10)/Math.log(10/9.0); n ++) {	// from : max{n:10^(n-1) <= 9^n}
				BigInteger x = BigInteger.valueOf(a).pow(n);
				if (String.valueOf(x).length() == n) {
					System.out.println(x + "=" + a + "^" + n);
					c.add(x);
				}
			}
		}
		System.out.println(c.size());
	}

}
